# 从 math 模块中导入（import）圆周率π，并取别名 PI，计算圆的面积并输出；

###############################

# # from 模块/包名 import 功能 as 别名
# from math import pi as PI

# # 输入圆的半径
# radius = float(input("请输入圆的半径："))

# # 计算圆的面积并输出
# area = PI * radius**2
# print(f"半径为 3 的圆的面积是：{round(area, 2)}")

###############################


# """
# 创建一个字符串，内容为”欢迎学习 Python 语言程序设计！“，
# 采用从前向后索引的方式，截取字符串并输出”学习“；
# 采用从后向前索引的方式，截取字符串并输出”设计“
# """

# basestr = "欢迎学习 Python 语言程序设计！"
# print(basestr[2:4])  # 学习
# print(basestr[-3:-1])  # 设计

###################################

"""
创建一个列表，元素依次为：1，2.5，‘test’，3+4j，True，[1, 2], 100，而后分别执行以下操作：

- 输出第五个元素
- 切片输出前三个元素
- 在索引 4 的位置插入字符串“Four”
"""

# baseList = [1, 2.5, "test", 3 + 4j, True, [1, 2], 100]

# print(baseList[4])  # 输出第五个元素
# print(baseList[:3])  # 切片输出前三个元素
# baseList.insert(4, "Four")  # 在索引 4 的位置插入字符串“Four”
# print(baseList)


#######################################

"""
执行下列语句

```python
a = list(range(10))
b = tuple(range(1, 10))
```

回答问题：

- 显示变量 a、b 的值，说出变量 a、b 的数据类型。
- range 函数的作用是什么？range(15)与 range(1, 15)有何区别？
- 生成由 100 以内的奇数构成的列表 c，写出语句并验证。
"""

# a = list(range(10))
# b = tuple(range(1, 10))

# print(a)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# print(b)  # (1, 2, 3, 4, 5, 6, 7, 8, 9)

# print(type(a))  # list
# print(type(b))  # tuple

######################################

# 生成由 100 以内的奇数构成的列表 c，写出语句并验证。
c = [x for x in range(1, 100) if x % 2 != 0]
print(c)
